package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;



/**
 * 身份证识别信息对象 id_card_info
 *
 * @author ruoyi
 * @date 2025-08-26
 */
public class IdCardInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 性别 */
    @Excel(name = "性别")
    private String gender;

    /** 民族 */
    @Excel(name = "民族")
    private String nation;

    /** 出生日期 */
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birth;

    /** 地址 */
    @Excel(name = "地址")
    private String address;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String idCardNumber;

    /** 签发机关 */
    @Excel(name = "签发机关")
    private String issuingAuthority;

    /** 有效期限 */
    @Excel(name = "有效期限")
    private String validPeriod;

    /** 身份证图片路径 */
    private String imageUrl;

    /** 识别时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "识别时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date recognitionTime;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setGender(String gender)
    {
        this.gender = gender;
    }

    public String getGender()
    {
        return gender;
    }
    public void setNation(String nation)
    {
        this.nation = nation;
    }

    public String getNation()
    {
        return nation;
    }
    public void setBirth(Date birth)
    {
        this.birth = birth;
    }

    public Date getBirth()
    {
        return birth;
    }
    public void setAddress(String address)
    {
        this.address = address;
    }

    public String getAddress()
    {
        return address;
    }
    public void setIdCardNumber(String idCardNumber)
    {
        this.idCardNumber = idCardNumber;
    }

    public String getIdCardNumber()
    {
        return idCardNumber;
    }
    public void setIssuingAuthority(String issuingAuthority)
    {
        this.issuingAuthority = issuingAuthority;
    }

    public String getIssuingAuthority()
    {
        return issuingAuthority;
    }
    public void setValidPeriod(String validPeriod)
    {
        this.validPeriod = validPeriod;
    }

    public String getValidPeriod()
    {
        return validPeriod;
    }
    public void setImageUrl(String imageUrl)
    {
        this.imageUrl = imageUrl;
    }

    public String getImageUrl()
    {
        return imageUrl;
    }
    public void setRecognitionTime(Date recognitionTime)
    {
        this.recognitionTime = recognitionTime;
    }

    public Date getRecognitionTime()
    {
        return recognitionTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("name", getName())
                .append("gender", getGender())
                .append("nation", getNation())
                .append("birth", getBirth())
                .append("address", getAddress())
                .append("idCardNumber", getIdCardNumber())
                .append("issuingAuthority", getIssuingAuthority())
                .append("validPeriod", getValidPeriod())
                .append("imageUrl", getImageUrl())
                .append("recognitionTime", getRecognitionTime())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}